<div id="Environment-variables"></div>
<div class="header">
<p>
Next: [[cvs: Compatibility between CVS Versions#Compatibility between CVS Versions|Compatibility]], Previous: [[cvs: Reference manual for Administrative files#Reference manual for Administrative files|Administrative files]], Up: [[cvs#Top|Top]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
</div>
<div id="All-environment-variables-which-affect-CVS"></div>
== All environment variables which affect CVS ==
<div id="index-Environment-variables"></div>
<div id="index-Reference-manual-for-variables"></div>

This is a complete list of all environment variables
that affect <small>CVS</small>.

<div id="index-CVSIGNORE_002c-environment-variable"></div>
;<code>$CVSIGNORE</code>
: A whitespace-separated list of file name patterns that <small>CVS</small> should ignore. See [[cvs: Reference manual for Administrative files#Ignoring files via cvsignore|cvsignore]].

<div id="index-CVSWRAPPERS_002c-environment-variable-1"></div>
;<code>$CVSWRAPPERS</code>
: A whitespace-separated list of file name patterns that <small>CVS</small> should treat as wrappers. See [[cvs: Reference manual for Administrative files#The cvswrappers file|Wrappers]].

<div id="index-CVSREAD_002c-environment-variable"></div>
<div id="index-Read_002donly-files_002c-and-CVSREAD"></div>
;<code>$CVSREAD</code>
: If this is set, <code>checkout</code> and <code>update</code> will try hard to make the files in your working directory read-only.  When this is not set, the default behavior is to permit modification of your working files.

<div id="index-CVSREADONLYFS_002c-environment-variable"></div>
;<code>$CVSREADONLYFS</code>
: Turns on read-only repository mode. This allows one to check out from a read-only repository, such as within an anoncvs server, or from a CDROM repository.

: It has the same effect as if the &lsquo;<code>-R</code>&rsquo; command-line option is used. This can also allow the use of read-only NFS repositories.

;<code>$CVSUMASK</code>
: Controls permissions of files in the repository.  See [[cvs: The Repository#File permissions|File permissions]].

;<code>$CVSROOT</code>
: Should contain the full pathname to the root of the <small>CVS</small> source repository (where the <small>RCS</small> files are kept).  This information must be available to <small>CVS</small> for most commands to execute; if <code>$CVSROOT</code> is not set, or if you wish to override it for one invocation, you can supply it on the command line: &lsquo;<code>cvs -d cvsroot cvs_command&hellip;</code>&rsquo; Once you have checked out a working directory, <small>CVS</small> stores the appropriate root (in the file &lsquo;<tt>CVS/Root</tt>&rsquo;), so normally you only need to worry about this when initially checking out a working directory.

;<code>$CVSEDITOR</code>
<div id="index-CVSEDITOR_002c-environment-variable-1"></div>
;<code>$EDITOR</code>
<div id="index-EDITOR_002c-environment-variable-1"></div>
;<code>$VISUAL</code>
<div id="index-VISUAL_002c-environment-variable-1"></div>
: Specifies the program to use for recording log messages during commit.  <code>$CVSEDITOR</code> overrides <code>$EDITOR</code>, which overrides <code>$VISUAL</code>. See [[cvs: Overview#Committing your changes|Committing your changes]] for more or [[cvs: Guide to CVS commands#Global options|Global options]] for alternative ways of specifying a log editor.

<div id="index-PATH_002c-environment-variable"></div>
;<code>$PATH</code>
: If <code>$RCSBIN</code> is not set, and no path is compiled into <small>CVS</small>, it will use <code>$PATH</code> to try to find all programs it uses.

<div id="index-HOME_002c-environment-variable"></div>
;<code>$HOME</code>
<div id="index-HOMEPATH_002c-environment-variable"></div>
;<code>$HOMEPATH</code>
<div id="index-HOMEDRIVE_002c-environment-variable"></div>
;<code>$HOMEDRIVE</code>
: Used to locate the directory where the &lsquo;<tt>.cvsrc</tt>&rsquo; file, and other such files, are searched.  On Unix, <small>CVS</small> just checks for <code>HOME</code>.  On Windows NT, the system will set <code>HOMEDRIVE</code>, for example to &lsquo;<code>d:</code>&rsquo; and <code>HOMEPATH</code>, for example to &lsquo;<tt>\joe</tt>&rsquo;.  On Windows 95, you&rsquo;ll probably need to set <code>HOMEDRIVE</code> and <code>HOMEPATH</code> yourself.

<div id="index-CVS_005fRSH_002c-environment-variable"></div>
;<code>$CVS_RSH</code>
: Specifies the external program which <small>CVS</small> connects with, when <code>:ext:</code> access method is specified. see [[cvs: The Repository#Connecting with rsh|Connecting via rsh]].

;<code>$CVS_SERVER</code>
: Used in client-server mode when accessing a remote repository using <small>RSH</small>.  It specifies the name of the program to start on the server side (and any necessary arguments) when accessing a remote repository using the <code>:ext:</code>, <code>:fork:</code>, or <code>:server:</code> access methods. The default value for <code>:ext:</code> and <code>:server:</code> is <code>cvs</code>; the default value for <code>:fork:</code> is the name used to run the client. see [[cvs: The Repository#Connecting with rsh|Connecting via rsh]]

;<code>$CVS_PASSFILE</code>
: Used in client-server mode when accessing the <code>cvs login server</code>.  Default value is &lsquo;<tt>$HOME/.cvspass</tt>&rsquo;. see [[cvs: The Repository#Using the client with password authentication|Password authentication client]]

;<code>$CVS_CLIENT_PORT</code>
: Used in client-server mode to set the port to use when accessing the server via Kerberos, GSSAPI, or <small>CVS</small>&rsquo;s password authentication protocol if the port is not specified in the CVSROOT. see [[cvs: The Repository#Remote repositories|Remote repositories]]

<div id="index-CVS_005fRCMD_005fPORT_002c-environment-variable"></div>
;<code>$CVS_RCMD_PORT</code>
: Used in client-server mode.  If set, specifies the port number to be used when accessing the <small>RCMD</small> demon on the server side. (Currently not used for Unix clients).

<div id="index-CVS_005fCLIENT_005fLOG_002c-environment-variable"></div>
;<code>$CVS_CLIENT_LOG</code>
: Used for debugging only in client-server mode.  If set, everything sent to the server is logged into &lsquo;<tt><code>$CVS_CLIENT_LOG</code>.in</tt>&rsquo; and everything sent from the server is logged into &lsquo;<tt><code>$CVS_CLIENT_LOG</code>.out</tt>&rsquo;.

<div id="index-CVS_005fSERVER_005fSLEEP_002c-environment-variable"></div>
;<code>$CVS_SERVER_SLEEP</code>
: Used only for debugging the server side in client-server mode.  If set, delays the start of the server child process the specified amount of seconds so that you can attach to it with a debugger.

<div id="index-CVS_005fIGNORE_005fREMOTE_005fROOT_002c-environment-variable"></div>
;<code>$CVS_IGNORE_REMOTE_ROOT</code>
: For <small>CVS</small> 1.10 and older, setting this variable prevents <small>CVS</small> from overwriting the &lsquo;<tt>CVS/Root</tt>&rsquo; file when the &lsquo;<code>-d</code>&rsquo; global option is specified. Later versions of <small>CVS</small> do not rewrite &lsquo;<tt>CVS/Root</tt>&rsquo;, so <code>CVS_IGNORE_REMOTE_ROOT</code> has no effect.

<div id="index-CVS_005fLOCAL_005fBRANCH_005fNUM_002c-environment-variable"></div>
;<code>$CVS_LOCAL_BRANCH_NUM</code>
: Setting this variable allows some control over the branch number that is assigned. This is specifically to support the local commit feature of CVSup. If one sets <code>CVS_LOCAL_BRANCH_NUM</code> to (say) 1000 then branches the local repository, the revision numbers will look like 1.66.1000.xx. There is almost a dead-set certainty that there will be no conflicts with version numbers.

<div id="index-COMSPEC_002c-environment-variable"></div>
;<code>$COMSPEC</code>
: Used under OS/2 only.  It specifies the name of the command interpreter and defaults to <small>CMD.EXE</small>.

<div id="index-TMPDIR_002c-environment-variable"></div>
;<code>$TMPDIR</code>
<div id="index-TMP_002c-environment-variable"></div>
;<code>$TMP</code>
<div id="index-TEMP_002c-environment-variable"></div>
;<code>$TEMP</code>
<div id="index-Temporary-files_002c-location-of"></div>
: Directory in which temporary files are located. The <small>CVS</small> server uses <code>TMPDIR</code>.  See [[cvs: Guide to CVS commands#Global options|Global options]], for a description of how to specify this. Some parts of <small>CVS</small> will always use &lsquo;<tt>/tmp</tt>&rsquo; (via the <code>tmpnam</code> function provided by the system).

: On Windows NT, <code>TMP</code> is used (via the <code>_tempnam</code> function provided by the system).

: The <code>patch</code> program which is used by the <small>CVS</small> client uses <code>TMPDIR</code>, and if it is not set, uses &lsquo;<tt>/tmp</tt>&rsquo; (at least with GNU patch 2.1).  Note that if your server and client are both running <small>CVS</small> 1.9.10 or later, <small>CVS</small> will not invoke an external <code>patch</code> program.

<div id="index-CVS_005fPID_002c-environment-variable"></div>
;<code>$CVS_PID</code>
: This is the process identification (aka pid) number of the <small>CVS</small> process. It is often useful in the programs and/or scripts specified by the &lsquo;<tt>commitinfo</tt>&rsquo;, &lsquo;<tt>verifymsg</tt>&rsquo;, &lsquo;<tt>loginfo</tt>&rsquo; files.


----

<div class="header">
<p>
Next: [[cvs: Compatibility between CVS Versions#Compatibility between CVS Versions|Compatibility]], Previous: [[cvs: Reference manual for Administrative files#Reference manual for Administrative files|Administrative files]], Up: [[cvs#Top|Top]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
</div>
This document was generated on <i>a sunny day</i> using [http://www.nongnu.org/texi2html/ <i>texi2html</i>].
